home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 19
/
Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso
/
Aminet
/
comm
/
net
/
ahi_sf_6_1b.lha
/
speak_freely-6.1b
/
sfspeaker.0
< prev
next >
Wrap
Text File
|
1997-03-12
|
26KB
|
529 lines
SFSPEAKER(1) SFSPEAKER(1)
NNAAMMEE
sfspeaker - Speak Freely sound receiver utility
SSYYNNOOPPSSIISS
ssffssppeeaakkeerr [ --ddnnqqvv ] [ --aa_r_e_p_l_y___f_i_l_e ] [ --ii_I_D_E_A_k_e_y ] [
--kk_D_E_S_k_e_y ] [ --mm_m_u_l_t_i___g_r_o_u_p ] [ --oo_k_e_y_f_i_l_e ] [ --pp_p_o_r_t ]
[ --rr_[_+_]_r_e_c_f_i_l_e ] [ --ww_p_o_r_t ] [ --zz_[_P_a_s_s___p_h_r_a_s_e_] ]
DDEESSCCRRIIPPTTIIOONN
SSppeeaakk FFrreeeellyy allows users of a variety of Unix and Unix-
like workstations equipped with audio hardware connected
by a network to converse, using the audio input and output
facilities of the workstation to digitise and later recon
struct the sound and the network to relay sound packets.
Optional compression is provided, allowing conversations
over relatively low-bandwidth Internet links as well as
local area networks. SSppeeaakk FFrreeeellyy consists of two pro
grams, ssffmmiikkee and ssffssppeeaakkeerr. The ssffssppeeaakkeerr program must
be running on a workstation to allow it to receive sound
sent with the ssffmmiikkee program. You can execute ssffssppeeaakkeerr
in the background; it only uses the audio hardware when
sound is actually being received.
If requested by setting various environment variables, ssff
ssppeeaakkeerr can publish your identity and Internet address on
a Look Who's Listening server. This enables other users,
by querying the server, to determine if you're on line.
If you have a dial-up Internet connection that assigns you
a different host name and Internet address each time you
connect, Look Who's Listening permits others to find the
address of your current connection, whatever it may be.
You can supply an image of your face (or anything else you
like) as a 256 colour Microsoft bitmap (.bmp) file which
will be sent to hosts you connect to. If you have the xxvv
image display utility installed on your workstation,
you'll be able to see the face images published by users
who connect to you.
OOPPTTIIOONNSS
--aa_r_e_p_l_y___f_i_l_e
When a new host connects, ssffssppeeaakkeerr will write
an executable shell script into the given _r_e_
_p_l_y___f_i_l_e containing a command that invokes
ssffmmiikkee to reply to the host. By default, the
command is ``sfmike -t $* _h_o_s_t_n_a_m_e'', where
_h_o_s_t_n_a_m_e is the Internet host name or IP address
of the connecting host. The user can reply to
the host simply by executing the _r_e_p_l_y___f_i_l_e.
You can create a custom reply command by speci
fying it after the _r_e_p_l_y___f_i_l_e, separated by a
space (be sure to enclose the argument to the --aa
option in quotes when doing this). The ``$*''
specification allows you to supply additional
8 APR 1996 1
SFSPEAKER(1) SFSPEAKER(1)
options to ssffmmiikkee by including them on the _r_e_
_p_l_y___f_i_l_e command line.
--dd Enables debug output from ssffssppeeaakkeerr whether re
quested by the remote copy of ssffmmiikkee or not.
--ii_k_e_y The specified _k_e_y is used to decrypt sound re
ceived using the International Data Encryption
Algorithm (IDEA).
--kk_k_e_y The specified _k_e_y is used to decrypt sound re
ceived using a slightly modified version of the
Data Encryption Standard algorithm (the initial
and final permutations, which do not contribute
to the security of the algorithm and exist pure
ly to deter software implementations of DES are
not performed).
--mm_m_u_l_t_i___g_r_o_u_p
In addition to messages directed specifically to
the host on which it is running, ssffssppeeaakkeerr will
listen for messages sent to the IP multicast
group _m_u_l_t_i___g_r_o_u_p, which can be specified either
as a symbolic group name or as a numeric IP ad
dress. Any number of multicast groups can be
monitored simultaneously, up to the system maxi
mum (usually 20). If the system on which ssffss
ppeeaakkeerr is running does not support multicast,
this option will not be available.
--nn Disables remote ring requests. Sun users who
have connected the audio output jack to a higher
quality speaker may wish to set this to prevent
remote users from diverting audio back to the
built-in speaker.
--oo_f_i_l_e_n_a_m_e
The contents of the specified _f_i_l_e_n_a_m_e are used
as a ``key file'' to decrypt sound data re
ceived.
--pp_p_o_r_t Causes ssffssppeeaakkeerr to listen on the specified port
number instead of the default port specified by
``INTERNET_PORT'' in the MMaakkeeffiillee.
--qq Quiet--disables debug output from ssffssppeeaakkeerr un
conditionally.
--rr_[_+_]_f_i_l_e_n_a_m_e
Record all audio received in the named _f_i_l_e_n_a_m_e
in Sun audio file format. This provides a crude
``answering machine'' facility. If you're going
to be away from your machine, run ssffssppeeaakkeerr with
this option so any sound you miss will be
8 APR 1996 2
SFSPEAKER(1) SFSPEAKER(1)
recorded in your absence. When you return, play
the sound file to hear messages from people who
tried to get in touch while you were away. If
_f_i_l_e_n_a_m_e already exists and a plus sign precedes
the name, sound is appended to the file rather
than overwriting previously saved sound.
--uu Prints how-to-call information.
--vv_t_i_m_e_o_u_t When ssffssppeeaakkeerr receives a packet from a host it
hasn't heard from in _t_i_m_e_o_u_t seconds, it will
attempt to find the host name and print a mes
sage on standard error noting the new connec
tion. If the host name can't be found, the nu
meric IP address is given. After _t_i_m_e_o_u_t sec
onds of inactivity a message is issued indicat
ing the host is idle. If no _t_i_m_e_o_u_t is speci
fied, 180 seconds is used.
--ww_p_o_r_t ssffssppeeaakkeerr publishes the identity of the machine
it is running on and the given _p_o_r_t (2074 if
none is given), on Look Who's Listening servers
as specified by the SSPPEEAAKKFFRREEEE__LLWWLL___x_x_x environ
ment variables, but does not open network input
or listen for packets. This option is used by
the Voice on Demand server, ssffvvoodd, to identify
itself to Look Who's Listening servers.
--zz_p_a_s_s___p_h_r_a_s_e
When a ppggpp-encrypted session key is received,
ppggpp is invoked to decrypt it. Decryption re
quires your RSA private key, for which the pass
phrase must be provided. By default, ppggpp asks
you for the pass phrase each time a session is
initiated. You can override this by specifying
the pass phrase using the PGPPASS environment
variable (see the ppggpp documentation for details
and a discussion of the vulnerability this may
create) or by using the --zz option on speaker to
supply the pass phrase. The given pass phrase
is then passed to PGP with its own --zz option
each time it is invoked. If the pass phrase
consists of more than one word, be sure to en
close it in quotes. If no pass phrase is given,
ssffssppeeaakkeerr prompts you for the pass phrase when
it is first invoked. If you're worried about
your pass phrase being compromised through spec
ification as an environment variable or command
line argument, this allows you to enter the pass
phrase only once per execution of ssffssppeeaakkeerr. Be
aware, however, that ssffssppeeaakkeerr continues to pass
the phrase to ppggpp via a command line argument
when it is invoked to decode the session key.
8 APR 1996 3
SFSPEAKER(1) SFSPEAKER(1)
LLOOOOKK WWHHOO''SS LLIISSTTEENNIINNGG
Speak Freely's Look Who's Listening mechanism allows you
to publish information in an electronic telephone directo
ry at a cooperating Internet site. Whenever you're con
nected to the Internet and running ssffssppeeaakkeerr, other users
anywhere on the Internet can, by querying that site, find
out you're on line and where to contact you. If you have
a dial-up connection to the Internet which assigns you a
different host name and Internet (IP) address each time
you connect, Look Who's Listening allows people to find
you at the address you're currently connected to.
To publish your information with a Look Who's Listening
server, set the following environment variables before
running ssffssppeeaakkeerr. As long as you don't set the SSPPEEAAKK
FFRREEEE__LLWWLL__TTEELLLL variable, no other site will be notified of
your use of Speak Freely and remote users will have no way
to determine whether you're running ssffssppeeaakkeerr or not. If
privacy and discretion are important to you, think care
fully before publishing your information and if you decide
to proceed, what information you supply. Anything you
send to a Look Who's Listening site is potentially avail
able to any user on the Internet. Remember that Speak
Freely won't disclose anything you don't explicitly re
quest be published.
To enable publication, set the environment variable SSPPEEAAKK
FFRREEEE__LLWWLL__TTEELLLL to the name of the Look Who's Listening host
where you wish to publish your address. An experimental
host is currently available at the site llwwll..ffoouurrmmiillaabb..cchh.
Anybody can create a host simply by installing the ssffllwwlldd
program supplied with Speak Freely; this allows private
networks to maintain directories that aren't accessible to
users from the Internet at large, or interest groups to
create ``meeting rooms'' for those interested in specific
topics. If the site uses a port number other than the
standard of 2076, you can specify the port number after
the host name, separated by a comma.
Setting SSPPEEAAKKFFRREEEE__LLWWLL__TTEELLLL to a valid Look Who's Listening
host publishes default information about you and your site
determined from your password file entry. You can publish
your entry on multiple hosts by listing them on the SSPPEEAAKK
FFRREEEE__LLWWLL__TTEELLLL variable, separated by commas. You can sup
ply more complete and accurate information by setting the
environment variable SSPPEEAAKKFFRREEEE__IIDD to a string of the form:
_f_u_l_l _n_a_m_e:: _E_-_m_a_i_l _a_d_d_r_e_s_s:: _p_h_o_n_e _n_u_m_b_e_r:: _l_o_c_a_t_i_o_n
With most shells you'll have to enclose this specification
in quotes. Think about the consequences of making your
telephone number and geographical location potentially
available to any user on the Internet before you include
them on a SSPPEEAAKKFFRREEEE__IIDD statement. Your E-mail address is
8 APR 1996 4
SFSPEAKER(1) SFSPEAKER(1)
the primary means by which others contact you; this should
be the address you usually give to individuals who wish to
contact you or include, for example, on your business
card. It needn't have anything to do with the host and
network on which you're running ssffssppeeaakkeerr. For example,
if you usually give out your E-mail address at work, you
might specify jjeettssoonn@@sspprroocckkeettss..ccoomm even though you connect
to the Internet at home as ggeeoorrggee@@sslliipp33998866..tteerrrraa..ssssooll..nneett.
Normally, the server will reply to a query with all active
sites which contain the query string in either the E-mail
address or full name fields. If you precede the E-mail
address with an asterisk, only queries which exactly match
the E-mail address will return your contact information.
This allows dial-up users to allow those knowing their E-
mail address to contact them without informing any Inter
net user who's curious that they're on line. The securi
ty-conscious should note that this protection is provided
by the Look Who's Listening server, and assumes the site
you contact is running an unmodified version of the ssffllwwlldd
program which is operating as intended.
Look Who's Listening uses the Internet Real-Time Protocol
(RTP) to communicate with the host running the server.
This protocol uses a ``canonical name'' to identify a user
and machine so that remote users can usually contact the
individual with Unix tools such as ffiinnggeerr and ttaallkk. ssffss
ppeeaakkeerr creates a canonical name automatically from your
user ID and domain name. If no domain name is available,
the user ID and Internet (IP) address are used to create a
unique name. If for some reason this process yields an
unusable canonical name, you can override it by setting
the SSPPEEAAKKFFRREEEE__CCNNAAMMEE variable to the canonical name you
prefer.
SSHHOOWW YYOOUURR FFAACCEE
If you'd like remote users to see an image of your face
(or any other image you like, for that matter), set the
environment variable SSPPEEAAKKFFRREEEE__FFAACCEE to point to the image
file. The image file must be in Microsoft Device Indepen
dent Bitmap (.bmp) format, in 256 colour mode, and should
not be larger than 128x128 pixels. The xxvv utility, avail
able by anonymous FTP from ffttpp..cciiss..uuppeennnn..eedduu and many oth
er public FTP archives can be used to convert images into
this format. If xxvv is installed on your system, face im
ages for remote users will appear on the right side of
your screen shortly after they connect. The SSPPEEAAKK
FFRREEEE__FFAACCEE variable must be defined when both ssffmmiikkee and
ssffssppeeaakkeerr are run.
FFIILLEESS
On Sun workstations audio is written to the //ddeevv//aauuddiioo de
vice file. ssffssppeeaakkeerr acquires the audio device upon re
ceiving sound, but automatically releases //ddeevv//aauuddiioo for
output after 20 seconds elapse without any sound having
8 APR 1996 5
SFSPEAKER(1) SFSPEAKER(1)
been received. On Silicon Graphics machines the digital
media development toolkit (a standard component of the
Iris Development Option in IRIX 5.3 and above) is used to
access the audio hardware.
BBUUGGSS
If sound from multiple sources arrives simultaneously at
one machine, ssffssppeeaakkeerr interleaves the audio packet-by-
packet. This usually results in unintelligible gibberish,
although it's normally adequate to allow ``butting into''
a conversation. It might be possible to have ssffssppeeaakkeerr
mix the sound into one output stream, but I haven't exper
imented with this approach.
In order to deliver acceptable (or at least tolerable)
performance across international links, ssffmmiikkee and ssffss
ppeeaakkeerr use ``Internet datagram'' socket protocol which is
essentially a ``fire and forget'' mechanism; neither flow
control nor acknowledgement are provided. Since sound
must be delivered at the correct time in order to be in
telligible, in real time transmission there's little one
can do anyway if data are lost. Consequently, bogged down
lines, transmission errors, etc., simply degrade or de
stroy the quality of the audio without providing explicit
warnings at either end that anything's amiss.
IDEA, DES, and key file options encrypt every sound packet
with the same key--no key chaining is performed. (DES and
IDEA encryption do, however, use cipher block chaining
_w_i_t_h_i_n each packet.) Chaining from packet to packet would
increase security but then loss of any packet would make
it impossible to decrypt all that followed.
Certain governments attempt to restrict the availability,
use, and exportation of software with cryptographic capa
bilities. SSppeeaakk FFrreeeellyy was developed in Switzerland,
which has no such restrictions. The DES, MD5, and IDEA
packages it uses was obtained from an Internet site in an
other European country which has no restrictions on cryp
tographic software. If you import this software into a
country with restrictions on cryptographic software, be
sure to comply with whatever restrictions apply. The re
sponsibility to obey the law in your jurisdiction is en
tirely yours.
By default, ssffssppeeaakkeerr listens to Internet port number
2074. It is conceivable, albeit unlikely, that this might
conflict with some other locally-developed network server.
You can specify a different port number with the --pp to op
tion, but your ssffssppeeaakkeerr won't receive audio from others
that use the standard port number. When communicating
with other applications using VAT or RTP protocol, you
must specify the port on which the other application is
sending. RFC 1890 recommends port 5004 as the default
8 APR 1996 6
SFSPEAKER(1) SFSPEAKER(1)
port for RTP applications. Many VAT protocol applica
tions default to port 3456.
No verification that the SSPPEEAAKKFFRREEEE__FFAACCEE image is actually
a 256 colour Microsoft .bmp file is performed. You can,
in fact, send an image in any format xxvv is able to dis
play, as long as you're communicating with another Unix
user. But if you supply a non-.bmp file, Speak Freely for
Windows won't be able to display the image.
AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS
The Silicon Graphics audio drivers are based on the stand-
alone SGI version developed by Paul Schurman of Espoo,
Finland. Without his generous contribution, SSppeeaakk FFrreeeellyy
would have probably remained forever confined in an orbit
around the Sun.
Andrey A. Chernov contributed code that enables Speak
Freely to build and run on FreeBSD.
Hans Werner Strube contributed code to allow the program
to build under Solaris 2.4 without any source changes or
need for compatibility modes.
Frank Gadegast, ``KeyJ Phade'', contributed code that al
lows Speak Freely to work on Linux.
The GSM compression and decompression code was developed
by Jutta Degener and Carsten Bormann of the Communications
and Operating Systems Research Group, Technische Univer
sitaet Berlin: Fax: +49.30.31425156, Phone:
+49.30.31424315. They note that THERE IS ABSOLUTELY NO
WARRANTY FOR THIS SOFTWARE. Please see the rreeaaddmmee and
ccooppyyrriigghhtt files in the ggssmm directory for further details.
The ADPCM compression and decompression code was developed
by Jack Jansen of the Centre for Mathematics and Computer
Science, Amsterdam, The Netherlands. Please see the
rreeaaddmmee and ccooppyyrriigghhtt files in the aaddppccmm directory for fur
ther details.
The linear predictive coding compression algorithm was de
veloped by Ron Frederick of Xerox PARC.
The DES encryption code was developed by Phil Karn, KA9Q.
Please see the rreeaaddmmee file in the ddeess directory for fur
ther details.
The public domain implementation of U.S. Federal Standard
1015 --llppcc1100 compression algorithm was developed by the
United States Department of Defense, National Security
Agency (NSA). Please see the RREEAADDMMEE and FFAAQQ files in the
llppcc1100 directory for additional details.
8 APR 1996 7
SFSPEAKER(1) SFSPEAKER(1)
The DES encryption library used for encrypting and de
crypting VAT and RTP protocol packets was developed by Er
ic Young. Please see the RREEAADDMMEE and CCOOPPYYRRIIGGHHTT files in
the lliibbddeess directory for further details.
The IDEA algorithm was developed by Xuejia Lai and James
L. Massey, of ETH Zurich. The implementation used in
SSppeeaakk FFrreeeellyy was modified and derived from original C code
developed by Xuejia Lai and optimised for speed by Colin
Plumb. The IDEA[tm] block cipher is patented by Ascom-
Tech AG. The Swiss patent number is PCT/CH91/00117, the
European patent number is EP 0 482 154 B1, and the U.S.
patent number is US005214703. IDEA[tm] is a trademark of
Ascom-Tech AG. There is no license fee required for non
commercial use. Commercial users may obtain licensing de
tails from Dr. Dieter Profos, Ascom-Tech AG, Solothurn
Lab, Postfach 151, CH-4502 Solothurn, Switzerland, Tel +41
65 242 885, Fax +41 65 235 761.
The implementation of MD5 message-digest algorithm is
based on a public domain version written by Colin Plumb in
1993. The algorithm is due to Ron Rivest. The algorithm
is described in Internet RFC 1321.
SSEEEE AALLSSOO
aauuddiioo(4), aauuddiiooppaanneell(1), aauuddiioottooooll(1), ffiinnggeerr(1), ppggpp(1),
ssffllwwlldd(1), ssffmmiikkee(1), ssffvvoodd(1), ssoouunnddeeddiittoorr(1), ssoouunnddffiill
eerr(1), ttaallkk(1), xxvv(1)
AAUUTTHHOORR
John Walker
WWW: http://www.fourmilab.ch/
All modules of SSppeeaakk FFrreeeellyy developed by me are in the
public domain. See the rreeaaddmmee and/or ccooppyyrriigghhtt files in
the aaddppccmm, ddeess, ggssmm, and iiddeeaa directories for conditions
of use and distribution of those components. This soft
ware is provided ``as is'' without express or implied war
ranty.
8 APR 1996 8